abstract class Message

case object teamLeaderIsFree; // Secretary > Programmer/Customer
case object requestAppointment; // Secretary > Programmer/Customer
case object wantToMakeAppointment; // Programmer/Customer > Secretary
case class notifyTeamLeader(customerList : List[Any]);  // Secretary > Teamleader
case object sentInvite; // Teamleader > Programmer/Customer
case object arrived; // Programmer/Customer > teamleader
case object notifyEndOfMeeting; // Teamleader > Programmer/Customer
case object teamLeaderIsBusy; // Secretary > Programmer/Customer